package com.scy.java.object.inner;
/**
 * 注意事项
 * 1.外部类是不能直接使用内部类的成员和方法
 * 可先创建内部类对象，然后通过内部类对象来访问内部类的成员变量和方法
 * 2.如果外部类和内部类具有相同名字的成员变量或方法，内部类默认访问自
 * 己的成员变量和方法，如果要访问外部类的成员，可以使用外部类类名.this.成员
 * 属性
 */
public class Outer {
    private int a= 99;//外部类的私有属性
    int b = 20;
    //内部类Inner
    public class Inner{
        int b = 2;//内部类的成员变量
        public void test(){
            System.out.println("访问外部类中的a变量"+a);
            System.out.println("访问外部类中的b变量"+Outer.this.b);
            System.out.println("访问内部类中的b变量"+b);
        }
    }
    public void test(){
        System.out.println("我是外部类中的test()");
    }

    public static void main(String[] args) {
        Outer o = new Outer();
        Inner i = o.new Inner();
        i.test();
    }


}
